Incremental Semantic Analysis

نویسنده

  • Görel Hedin
چکیده

Semantic analysis is a central part of the compilation process. The main subproblems include name analysis, type checking, and detection of static-semantic errors. In an interactive programming environment it is useful to perform the semantic analysis incrementally, keeping the staticsemantic information up to date while the program is edited. This allows advanced browsing and editing facilities to be implemented, based on the semantic information. Furthermore, incremental semantic analysis is a prerequisite for making also the rest of the compilation process incremental in order to reduce the turnaround time between editing and execution. This work is directed towards incremental semantic analysis for object-oriented programming languages. These languages have comparatively complex static-semantics which could not be adequately handled with earlier techniques such as attribute grammars. The main contribution of this work is a new technique for developing incremental semantic analyzers: Door Attribute Grammars . This technique extends standard attribute grammars by allowing objects and references to be specified as part of the attribution of a syntax tree. This extension results in space-efficient attributions for which incremental updates can be performed efficiently. In particular, the complex naming semantics of object-oriented languages can be handled in a straight forward way by attributing the tree with explicit visibility graphs built using objects and references. The price for using objects and references in an attribution is that non-local attribute dependencies are introduced which prevent incremental attribute evaluators to be generated completely automatically from the grammar. We solve this problem by splitting the grammar in two parts: one part (the main grammar) which can be treated by automatic methods, and another part (the door package) for which a manual, but systematic, implementation technique is developed. A door package can implement general aspects of a family of programming languages. To specify a new language in the supported family it suffices to write a main grammar, using the door package as a tool box. The techniques have been developed and tested in practice. A complete incrementally compiling environment has been built: Mjølner/Orm , which currently supports the major part of Simula.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Incremental Semantic Evaluation in Language-based Editors

We present an incremental semantic analysis strategy for use in language-based editors. Its advantage is the low storage cost involved in achieving incremental semantic operation with a relatively small loSS in response. The scheme, which involves limiting identifier attribute flow, is first described for a simple block-structured language like Pascal, and then extended to more modern modular l...

متن کامل

Efficient Semantic Analysis for Text Editors

Meddle is a programmer’s text editor designed to provide as-you-type semantic information to the user. This is accomplished by using algorithms for tracking changes to the editor’s text buffer, incremental scanning and incremental parsing. These algorithms are presented and ex-

متن کامل

ISA meets Lara: An incremental word space model for cognitively plausible simulations of semantic learning

We introduce Incremental Semantic Analysis, a fully incremental word space model, and we test it on longitudinal child-directed speech data. On this task, ISA outperforms the related Random Indexing algorithm, as well as a SVD-based technique. In addition, the model has interesting properties that might also be characteristic of the semantic space of children.

متن کامل

Incremental Syntactic-Semantic Reliability Analysis of Evolving Structured Workflows

Modern enterprise information systems are built following the paradigm of service-orientation. This paradigm promotes workflow-based software composition, where complex business processes are realized by orchestrating different, heterogenous components. These workflow descriptions evolve continuously, to adapt to changes in the business goals or in the enterprise policies. Software verification...

متن کامل

Automated Essay Scoring Using Incremental Latent Semantic Analysis

Writing has been increasingly regarded by the testers of language tests as an important indicator to assess the language skill of testees. As such tests become more and more popular and the number of testees becomes larger, it is a huge task to score so many essays by raters. So far, many methods have been used to solve this problem and the traditional method is Latent Semantic Analysis (LSA). ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2004